home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_1599 / 1454 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  3.4 KB

  1. Subject: Re: Domain X
  2. Date: Tue, 24 May 94 21:52:54 CDT
  3. From: Juergen Lock <nox@jelal.north.de>
  4. In-Reply-To: <m0q5RLV-0000ePC@sdf.lonestar.org>; from "Evan K. Langlois" at May 22, 94 11:10 pm
  5. Message-Id: <9405241952.AA00581@jelal.north.de>
  6.  
  7. just a few comments...
  8.  
  9. Evan K. Langlois writes:
  10.  
  11. > This is part summary, part reply.  I can't implement it because, well, 
  12. > there are a number of problems.  1 - my compiler is broke for now. 2 -
  13. > the cookiejar calls are required, and I haven't finished those because
  14. > my compiler is broke (hey! what's a good gemdos opcode for a Cookiejar
  15. > call?  I may also need 2 or 3 more opcodes for reading the system tick
  16. > without being in super-visor mode and manipulating the shell pointer as
  17. > I've always like the idea of having 1 shell for all programs to use
  18. > and being able to execute command lines through the shell using _shell_p)
  19.  
  20.  _shell_p is obsolete.  IMHO.  unless you want to write a shell that
  21. does everything itself again what is and should be the OS' job...
  22. and anyway isn't a shell compiled with -mbaserel enough? :)
  23.  
  24. > Implementation can begin in the path2cookie() function.  The recent change
  25. > to return EPTHNF instead of EFILNF could be removed for Domain X apps.
  26. > Just test the domain before returning a value I guess.  Where else there
  27. > may be conflicts between domains is over my head.
  28.  
  29.  don't forget the write permission stuff... :/
  30.  
  31. >  Or do you have an idea to make fork() work with a pure 68000 system?
  32. > ========================================================================
  33. > Actually, I do have a few ideas.  Since tfork() works, then Pvfork() could
  34. > be hacked up to be non-blocking.
  35.  
  36.  yes that would be useful.
  37.  
  38. > Unblocking Pfork() seems to be a problem of pointers.  A pointer in the parent
  39. > when copied to the child will access the paren't memory, not the child's
  40. > memory.  I think that if the code is base-relative, then you can adjust the 
  41. > base register of the child to take care of 90% of the programs data access.
  42. > The rest is what to do with pointers that are "computed", or returned from
  43. > a malloc.  One idea is to use the memory "handle" system that DMJ is working
  44. > on (although he isn't going to do it for MiNT, he doing it for TOS/Geneva).
  45. > Basically, a new call allows you to allocate a block of memory, but instead of
  46. > a pointer to the block, you get a "handle".  To access the block, you must
  47. > "lock" it in place - this call returns a pointer.  When you are done, you 
  48. > release the lock, and your pointer becomes invalid, as the manager can now
  49. > move the block, defragment memory, or swap it to disk.  Your "handle" is now
  50. > the only way to access the block .. again re-locking it and getting a new
  51. > pointer.  Such a system could help in managing pointers when forking a child.
  52.  
  53.  well.  that would still need major hacking on just about every fork()ing
  54. unix source...  so i think you can forget it. :(
  55.  
  56. > It would also be useful in a shared memory file, since you can put handles
  57. > in the shared block, but not pointers.  It STILL may not be possible to
  58. > reliably use Pfork() on a 68000.
  59.  
  60.  if you ask me, the only reliable way to fork (not vfork) without virtual
  61. memory is like minix did it, move around data+bss on every taskswitch.
  62.  
  63.  cheers
  64.     Juergen
  65. -- 
  66. J"urgen Lock / nox@jelal.north.de / UUCP: ..!uunet!unido!uniol!jelal!nox
  67.                                 ...ohne Gewehr
  68. PGP public key fingerprint =  8A 18 58 54 03 7B FC 12  1F 8B 63 C7 19 27 CF DA 
  69.